/**
 * open
 * 用来指定开放模块,开放模块的所有包都是公开的,public的可以直接引用使用,其他类型可以通过反射得到。
 * 如：open module com.xiyang.cjtool
 *
 * opens
 * opens 用来指定开放的包,其中public类型是可以直接访问的,其他类型可以通过反射得到。
 * 如：module module.one {
 *      opens <package>;
 *    }
 *
 * exports
 * exports用于指定模块下的哪些包可以被其他模块访问
 * 如：module module.one {
 *      exports <package>;
 *      exports <package> to <module1>, <module2>...;
 *    }
 *
 * requires
 * 该关键字声明当前模块与另一个模块的依赖关系。
 * 如：module module.one {
 *      requires <package>;
 *    }
 *
 * uses、provides…with…
 * uses语句使用服务接口的名字,当前模块就会发现它,使用java.util.ServiceLoader类进行加载,
 * 必须是本模块中的,不能是其他模块中的.其实现类可以由其他模块提供。
 * 如：module module.one {
 *      //对外提供的接口服务 ,下面指定的接口以及提供服务的impl，如果有多个实现类，用用逗号隔开
 *      uses <接口名>;
 *      provides <接口名> with <接口实现类>,<接口实现类>;
 *    }
 */
module com.xiyang.cjtool {
    requires javafx.controls;
    requires javafx.fxml;
    requires javafx.graphics;

    exports com.xiyang.cjtool;
    exports com.xiyang.cjtool.controller;
}

